home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2002 #11 / Amiga Plus CD - 2002 - No. 11.iso / Tools / Development / Emperor_ / Emperor / Projects / Tiger / Tiger.c < prev    next >
Encoding:
C/C++ Source or Header  |  2002-10-28  |  101.0 KB  |  1,494 lines

  1. /* code was generated by Emperor */
  2.  
  3. #define ALL_REACTION_CLASSES
  4. #define ALL_REACTION_MACROS
  5. #include <stdio.h>
  6. #include <stdlib.h>
  7. #include <string.h>
  8. #include <clib/alib_protos.h>
  9. #include <clib/asl_protos.h>
  10. #include <clib/dos_protos.h>
  11. #include <clib/exec_protos.h>
  12. #include <clib/gadtools_protos.h>
  13. #include <clib/graphics_protos.h>
  14. #include <clib/intuition_protos.h>
  15. #include <clib/locale_protos.h>
  16. #include <clib/utility_protos.h>
  17. #include <clib/wb_protos.h>
  18. #include <clib/colorwheel_protos.h>
  19. #include <clib/datebrowser_protos.h>
  20. #include <clib/resource_protos.h>
  21. #include <clib/texteditor_protos.h>
  22. #include <gadgets/colorwheel.h>
  23. #include <gadgets/datebrowser.h>
  24. #include <gadgets/gradientslider.h>
  25. #include <gadgets/tapedeck.h>
  26. #include <gadgets/texteditor.h>
  27. #include <proto/texteditor.h>
  28. #include <intuition/gadgetclass.h>
  29. #include <intuition/icclass.h>
  30. #include <intuition/imageclass.h>
  31. #include <reaction/reaction.h>
  32. #include <workbench/startup.h>
  33. #include <wbstartup.h>
  34. #include <StormC:Include/time.h>
  35. #include <StormC:Include/math.h>
  36.  
  37. #define TapeDeckObject   NewObject(NULL, "tapedeck.gadget"
  38. #define TextEditorObject NewObject(TEXTEDITOR_GetClass(), NULL
  39.  
  40. #define LOCALE_WINDOW_TITLE1 GetCatalogStr(Catalog, 0, "Tiger")
  41. #define LOCALE_SCREEN_TITLE1 GetCatalogStr(Catalog, 1, "Tiger version 1.x, by Olivier Martin")
  42. #define LOCALE_ICONIFIED_TITLE1 GetCatalogStr(Catalog, 2, "Tiger")
  43. #define LOCALE_MENU_PROJECT1 GetCatalogStr(Catalog, 3, "Project")
  44. #define LOCALE_MENU_INFO1 GetCatalogStr(Catalog, 4, "Information")
  45. #define LOCALE_MENU_QUIT1 GetCatalogStr(Catalog, 5, "Quit")
  46. #define LOCALE_REQUEST_INFO_TITLE1 GetCatalogStr(Catalog, 6, "Program information")
  47. #define LOCALE_REQUEST_INFO_BODY1 GetCatalogStr(Catalog, 7, "Tiger, a cellular automata, may 2001\n GUI built with Emperor")
  48. #define LOCALE_REQUEST_INFO_GADGET1 GetCatalogStr(Catalog, 8, "Okay")
  49. #define LOCALE_SLIDER1_LABEL GetCatalogStr(Catalog, 9, "zoom level")
  50. #define LOCALE_STRING1_LABEL GetCatalogStr(Catalog, 10, "slope [%]")
  51. #define LOCALE_INTEGER1_LABEL GetCatalogStr(Catalog, 11, "rainfall [mm/year]")
  52. #define LOCALE_INTEGER2_LABEL GetCatalogStr(Catalog, 12, "termite-hills")
  53. #define LOCALE_INTEGER3_LABEL GetCatalogStr(Catalog, 13, "radius [m]")
  54. #define LOCALE_INTEGER4_LABEL GetCatalogStr(Catalog, 14, "x size")
  55. #define LOCALE_INTEGER5_LABEL GetCatalogStr(Catalog, 15, "y size")
  56. #define LOCALE_INTEGER6_LABEL GetCatalogStr(Catalog, 16, "generations")
  57. #define LOCALE_CHECKBOX1_LABEL GetCatalogStr(Catalog, 17, "Save DEM")
  58. #define LOCALE_BUTTON1_LABEL GetCatalogStr(Catalog, 18, "Go")
  59. #define LOCALE_BUTTON2_LABEL GetCatalogStr(Catalog, 19, "Default values")
  60. #define LOCALE_VERTICAL_LAYOUT3 GetCatalogStr(Catalog, 20, "Ecological variables")
  61. #define LOCALE_VERTICAL_LAYOUT4 GetCatalogStr(Catalog, 21, "Simulation size")
  62. #define LOCALE_ANIMATION_LABEL GetCatalogStr(Catalog, 22, "Animation control")
  63. #define LOCALE_BUTTON3_LABEL GetCatalogStr(Catalog, 23, "Pause")
  64. #define LOCALE_BUTTON6_LABEL GetCatalogStr(Catalog, 24, "Close")
  65. #define LOCALE_BUTTON7_LABEL GetCatalogStr(Catalog, 25, "Rewind")
  66. #define LOCALE_BUTTON8_LABEL GetCatalogStr(Catalog, 26, "Forward")
  67. #define LOCALE_CHECKBOX2_LABEL GetCatalogStr(Catalog, 27, "Display during computation")
  68.  
  69. #define Layout1 Gadget1[1]
  70. #define Layout2 Gadget1[2]
  71. #define Layout3 Gadget1[3]
  72. #define String1 Gadget1[4]
  73. #define Label1 Gadget1[5]
  74. #define Integer1 Gadget1[6]
  75. #define Label2 Gadget1[7]
  76. #define Integer2 Gadget1[8]
  77. #define Label3 Gadget1[9]
  78. #define Integer3 Gadget1[10]
  79. #define Label4 Gadget1[11]
  80. #define Space1 Gadget1[12]
  81. #define Layout4 Gadget1[13]
  82. #define Layout8 Gadget1[14]
  83. #define Space7 Gadget1[15]
  84. #define Integer4 Gadget1[16]
  85. #define Label5 Gadget1[17]
  86. #define Layout12 Gadget1[18]
  87. #define Space8 Gadget1[19]
  88. #define Integer5 Gadget1[20]
  89. #define Label6 Gadget1[21]
  90. #define Layout13 Gadget1[22]
  91. #define Space9 Gadget1[23]
  92. #define Integer6 Gadget1[24]
  93. #define Label7 Gadget1[25]
  94. #define Checkbox1 Gadget1[26]
  95. #define Checkbox2 Gadget1[27]
  96. #define Layout5 Gadget1[28]
  97. #define Space6 Gadget1[29]
  98. #define Slider1 Gadget1[30]
  99. #define Label8 Gadget1[31]
  100. #define Layout14 Gadget1[32]
  101. #define String2 Gadget1[33]
  102. #define Space2 Gadget1[34]
  103. #define Layout6 Gadget1[35]
  104. #define Space3 Gadget1[36]
  105. #define Button2 Gadget1[37]
  106. #define Button1 Gadget1[38]
  107. #define Space4 Gadget1[39]
  108. #define Space5 Gadget1[40]
  109. #define Layout7 Gadget1[41]
  110. #define Fuelgauge2 Gadget1[42]
  111. #define Fuelgauge3 Gadget1[43]
  112. #define Layout9 Gadget1[44]
  113. #define Layout10 Gadget1[45]
  114. #define Button3 Gadget1[46]
  115. #define Space10 Gadget1[47]
  116. #define Button6 Gadget1[48]
  117. #define Layout11 Gadget1[49]
  118. #define Space11 Gadget1[50]
  119. #define Button7 Gadget1[51]
  120. #define Button8 Gadget1[52]
  121. #define Space12 Gadget1[53]
  122.  
  123. #define Menu_Project2 65504
  124. #define Menu_Information1 63488
  125. #define Menu_Quit1 63552
  126.  
  127. LONG Inforequest1(void);
  128. void String1_GadgetUp_Event(void);
  129. void Integer1_GadgetUp_Event(void);
  130. void Integer2_GadgetUp_Event(void);
  131. void Integer3_GadgetUp_Event(void);
  132. void Integer4_GadgetUp_Event(void);
  133. void Integer5_GadgetUp_Event(void);
  134. void Integer6_GadgetUp_Event(void);
  135. void Checkbox1_GadgetUp_Event(void);
  136. void Checkbox2_GadgetUp_Event(void);
  137. void Slider1_GadgetUp_Event(void);
  138. void Button2_GadgetUp_Event(void);
  139. void Button1_GadgetUp_Event(void);
  140. void Button3_GadgetUp_Event(void);
  141. void Button6_GadgetUp_Event(void);
  142. void Button7_GadgetUp_Event(void);
  143. void Button8_GadgetUp_Event(void);
  144. void Menu_Information1_MenuPick_Event(void);
  145. void Menu_Quit1_MenuPick_Event(void);
  146. void Window1_CloseWindow_Event(void);
  147. void Window1_Iconify_Event(void);
  148. void Window1_Uniconify_Event(void);
  149. void Window1_ShowWindow_Event(void);
  150. void Startup(void);
  151. void Shutdown(void);
  152. void Emperor_InitProgram(void);
  153. void Emperor_QuitProgram(void);
  154. void Emperor_CloseScreen_Screen1(void);
  155. struct Screen *Emperor_OpenScreen_Screen1(void);
  156. void Emperor_CloseWindow_Window1(void);
  157. void Emperor_IconifyWindow_Window1(void);
  158. struct Window *Emperor_OpenWindow_Window1(void);
  159. struct Window *Emperor_UniconifyWindow_Window1(void);
  160. STRPTR Emperor_GetGadgetAttr(struct Gadget *);
  161. void Emperor_SetGadgetAttr(struct Gadget *, STRPTR);
  162. ULONG stringlength(STRPTR);
  163. LONG stringtoint(STRPTR);
  164. DOUBLE stringtofloat(STRPTR);
  165. STRPTR inttostring(LONG);
  166.  
  167. const char VERSION[] = "$VER: Tiger 1.250 (11-May-2001)";
  168. const char AUTHOR[] = "Olivier Martin";
  169.  
  170. BYTE Emperor_Gadgetkind1[] = { 0, 12, 12, 12, 20, 26, 11, 26, 11, 26, 11, 26, 18, 12, 12, 18, 11, 26, 12, 18, 11, 26, 12, 18, 11, 26, 1, 1, 12, 18, 17, 26, 12, 20, 18, 12, 18, 0, 0, 18, 18, 12, 6, 6, 12, 12, 0, 18, 0, 12, 18, 0, 0, 18, -1 };
  171.  
  172. struct NewMenu NewMenu[] =
  173. {
  174.     { NM_TITLE, 0, 0, 0, 0, 0 },
  175.     { NM_ITEM, 0, "I", 0, 0, 0 },
  176.     { NM_ITEM, NM_BARLABEL, 0, 0, 0, 0 },
  177.     { NM_ITEM, 0, "Q", 0, 0, 0 },
  178.     { NM_END, 0, 0, 0, 0, 0 }
  179. };
  180.  
  181. void *VisualInfo1 = NULL;
  182. BOOL os35 = TRUE;
  183. BOOL terminated = FALSE;
  184. ULONG WindowSignals1 = 0L;
  185. Object *WindowObject1 = NULL;
  186. struct Catalog *Catalog = NULL;
  187. struct Gadget *Gadget1[54];
  188. struct IntuiMessage *IntuiMessage = NULL;
  189. struct Library *IntuitionBase = NULL;
  190. struct Library *LocaleBase = NULL;
  191. struct Library *GadToolsBase = NULL;
  192. struct Library *ASLBase = NULL;
  193. struct Library *DOSLibBase = NULL;
  194. struct Library *ResourceBase = NULL;
  195. struct Library *WindowBase = NULL;
  196. struct Library *RequesterBase = NULL;
  197. struct Library *ButtonBase = NULL;
  198. struct Library *CheckBoxBase = NULL;
  199. struct Library *ChooserBase = NULL;
  200. struct Library *ClickTabBase = NULL;
  201. struct Library *ColorWheelBase = NULL;
  202. struct Library *DateBrowserBase = NULL;
  203. struct Library *FuelGaugeBase = NULL;
  204. struct Library *GetFileBase = NULL;
  205. struct Library *GetFontBase = NULL;
  206. struct Library *GetScreenModeBase = NULL;
  207. struct Library *GradientSliderBase = NULL;
  208. struct Library *IntegerBase = NULL;
  209. struct Library *LayoutBase = NULL;
  210. struct Library *ListBrowserBase = NULL;
  211. struct Library *PaletteBase = NULL;
  212. struct Library *RadioButtonBase = NULL;
  213. struct Library *ScrollerBase = NULL;
  214. struct Library *SliderBase = NULL;
  215. struct Library *SpaceBase = NULL;
  216. struct Library *SpeedBarBase = NULL;
  217. struct Library *StringBase = NULL;
  218. struct Library *TapeDeckBase = NULL;
  219. struct Library *TextEditorBase = NULL;
  220. struct Library *BevelBase = NULL;
  221. struct Library *BitMapBase = NULL;
  222. struct Library *GlyphBase = NULL;
  223. struct Library *LabelBase = NULL;
  224. struct Menu *Menu = NULL;
  225. struct MsgPort *AppPort = NULL;
  226. struct MsgPort *MsgPort = NULL;
  227. struct Screen *Screen1 = NULL;
  228. struct Window *Window1 = NULL;
  229.  
  230. WORD pluie;
  231. WORD rayon;
  232. WORD termite;
  233. WORD imax;
  234. WORD kmax;
  235. WORD jmax;
  236. FLOAT pente;
  237. WORD zoom;
  238. BOOL previsual = FALSE;
  239. BOOL MNA = FALSE;
  240. ULONG Emperor_Input, Emperor_Code;
  241.  
  242. void main(void)
  243. {
  244.     ULONG Emperor_Micros = 0L;
  245.     ULONG Emperor_Seconds = 0L;
  246.     struct Gadget *Emperor_GadgetMessage = NULL;
  247.     Emperor_InitProgram();
  248.     Startup();
  249.     Emperor_OpenWindow_Window1();
  250.     while(!terminated)
  251.     {
  252.         Wait(WindowSignals1);
  253.         while((Emperor_Input = RA_HandleInput(WindowObject1, &Emperor_Code)) != WMHI_LASTMSG)
  254.         {
  255.             switch(Emperor_Input & WMHI_CLASSMASK)
  256.             {
  257.                 case WMHI_GADGETUP:
  258.                     switch(Emperor_Input & WMHI_GADGETMASK)
  259.                     {
  260.                         case 3: String1_GadgetUp_Event(); break;
  261.                         case 5: Integer1_GadgetUp_Event(); break;
  262.                         case 7: Integer2_GadgetUp_Event(); break;
  263.                         case 9: Integer3_GadgetUp_Event(); break;
  264.                         case 13: Integer4_GadgetUp_Event(); break;
  265.                         case 15: Integer5_GadgetUp_Event(); break;
  266.                         case 17: Integer6_GadgetUp_Event(); break;
  267.                         case 22: Checkbox1_GadgetUp_Event(); break;
  268.                         case 51: Checkbox2_GadgetUp_Event(); break;
  269.                         case 36: Slider1_GadgetUp_Event(); break;
  270.                         case 38: Button2_GadgetUp_Event(); break;
  271.                         case 24: Button1_GadgetUp_Event(); break;
  272.                         case 39: Button3_GadgetUp_Event(); break;
  273.                         case 42: Button6_GadgetUp_Event(); break;
  274.                         case 46: Button7_GadgetUp_Event(); break;
  275.                         case 47: Button8_GadgetUp_Event(); break;
  276.                         default: break;
  277.                     }
  278.                     break;
  279.                 case WMHI_GADGETHELP:
  280.                     switch(Emperor_Input & WMHI_GADGETMASK)
  281.                     {
  282.                         default: break;
  283.                     }
  284.                     break;
  285.                 case WMHI_MENUPICK:
  286.                     switch(Emperor_Input & WMHI_MENUMASK)
  287.                     {
  288.                         case Menu_Information1: Menu_Information1_MenuPick_Event(); break;
  289.                         case Menu_Quit1: Menu_Quit1_MenuPick_Event(); break;
  290.                         default: break;
  291.                     }
  292.                     break;
  293.                 case WMHI_MENUHELP:
  294.                     switch(Emperor_Input & WMHI_MENUMASK)
  295.                     {
  296.                         default: break;
  297.                     }
  298.                     break;
  299.                 case WMHI_CLOSEWINDOW:
  300.                     Window1_CloseWindow_Event();
  301.                     break;
  302.                 case WMHI_ICONIFY:
  303.                     Window1_Iconify_Event();
  304.                     break;
  305.                 case WMHI_UNICONIFY:
  306.                     Window1_Uniconify_Event();
  307.                     break;
  308.                 case WMHI_ACTIVE:
  309.                     break;
  310.                 case WMHI_INACTIVE:
  311.                     break;
  312.                 case WMHI_RAWKEY:
  313.                     break;
  314.                 case WMHI_VANILLAKEY:
  315.                     break;
  316.                 case WMHI_MOUSEBUTTONS:
  317.                     break;
  318.                 case WMHI_MOUSEMOVE:
  319.                     break;
  320.                 case WMHI_NEWSIZE:
  321.                     break;
  322.                 case WMHI_CHANGEWINDOW:
  323.                     break;
  324.                 case WMHI_DISPOSEDWINDOW:
  325.                     break;
  326.                 case WMHI_INTUITICK:
  327.                     break;
  328.             }
  329.         }
  330.     }
  331.     Emperor_QuitProgram();
  332. }
  333.  
  334. void wbmain(struct WBStartup *Emperor_ArgMsg)
  335. {
  336.     main();
  337. }
  338.  
  339. LONG Inforequest1(void)
  340. {
  341.     struct EasyStruct EmperorRequest_Inforequest1;
  342.  
  343.     EmperorRequest_Inforequest1.es_StructSize = sizeof(struct EasyStruct);
  344.     EmperorRequest_Inforequest1.es_Flags = 0L;
  345.     EmperorRequest_Inforequest1.es_Title = (UBYTE *) LOCALE_REQUEST_INFO_TITLE1;
  346.     EmperorRequest_Inforequest1.es_TextFormat = (UBYTE *) LOCALE_REQUEST_INFO_BODY1;
  347.     EmperorRequest_Inforequest1.es_GadgetFormat = (UBYTE *) LOCALE_REQUEST_INFO_GADGET1;
  348.     return(EasyRequest(Window1, &EmperorRequest_Inforequest1, NULL, NULL));
  349. }
  350.  
  351. void Emperor_InitProgram(void)
  352. {
  353.     UWORD Emperor_InitVar = 0;
  354.     char Emperor_OccuredError[50], Emperor_ExceptionString[300];
  355.     struct EasyStruct EmperorRequest_InitializationErrorRequest;
  356.  
  357.     IntuitionBase = OpenLibrary("intuition.library", 0L);
  358.     if(!IntuitionBase)
  359.     {
  360.         Emperor_InitVar = 1;
  361.         strcpy(Emperor_OccuredError, "intuition.library");
  362.     }
  363.     LocaleBase = OpenLibrary("locale.library", 0L);
  364.     if(!LocaleBase)
  365.     {
  366.         Emperor_InitVar = 1;
  367.         strcpy(Emperor_OccuredError, "locale.library");
  368.     }
  369.     GadToolsBase = OpenLibrary("gadtools.library", 0L);
  370.     if(!GadToolsBase)
  371.     {
  372.         Emperor_InitVar = 1;
  373.         strcpy(Emperor_OccuredError, "gadtools.library");
  374.     }
  375.     ASLBase = OpenLibrary("asl.library", 0L);
  376.     if(!ASLBase)
  377.     {
  378.         Emperor_InitVar = 1;
  379.         strcpy(Emperor_OccuredError, "asl.library");
  380.     }
  381.     DOSLibBase = OpenLibrary("dos.library", 0L);
  382.     if(!DOSLibBase)
  383.     {
  384.         Emperor_InitVar = 1;
  385.         strcpy(Emperor_OccuredError, "dos.library");
  386.     }
  387.     ResourceBase = OpenLibrary("resource.library", 0L);
  388.     if(!ResourceBase)
  389.     {
  390.         Emperor_InitVar = 1;
  391.         strcpy(Emperor_OccuredError, "resource.library");
  392.     }
  393.     WindowBase = OpenLibrary("window.class", 0L);
  394.     if(!WindowBase)
  395.     {
  396.         Emperor_InitVar = 1;
  397.         strcpy(Emperor_OccuredError, "window.class");
  398.     }
  399.     RequesterBase = OpenLibrary("requester.class", 0L);
  400.     if(!RequesterBase)
  401.     {
  402.         Emperor_InitVar = 1;
  403.         strcpy(Emperor_OccuredError, "requester.class");
  404.     }
  405.     ButtonBase = OpenLibrary("gadgets/button.gadget", 0L);
  406.     if(!ButtonBase)
  407.     {
  408.         Emperor_InitVar = 1;
  409.         strcpy(Emperor_OccuredError, "gadgets/button.gadget");
  410.     }
  411.     CheckBoxBase = OpenLibrary("gadgets/checkbox.gadget", 0L);
  412.     if(!CheckBoxBase)
  413.     {
  414.         Emperor_InitVar = 1;
  415.         strcpy(Emperor_OccuredError, "gadgets/checkbox.gadget");
  416.     }
  417.     ChooserBase = OpenLibrary("gadgets/chooser.gadget", 0L);
  418.     if(!ChooserBase)
  419.     {
  420.         Emperor_InitVar = 1;
  421.         strcpy(Emperor_OccuredError, "gadgets/chooser.gadget");
  422.     }
  423.     ClickTabBase = OpenLibrary("gadgets/clicktab.gadget", 0L);
  424.     if(!ClickTabBase)
  425.     {
  426.         Emperor_InitVar = 1;
  427.         strcpy(Emperor_OccuredError, "gadgets/clicktab.gadget");
  428.     }
  429.     ColorWheelBase = OpenLibrary("gadgets/colorwheel.gadget", 0L);
  430.     if(!ColorWheelBase)
  431.     {
  432.         Emperor_InitVar = 1;
  433.         strcpy(Emperor_OccuredError, "gadgets/colorwheel.gadget");
  434.     }
  435.     DateBrowserBase = OpenLibrary("gadgets/datebrowser.gadget", 0L);
  436.     if(!DateBrowserBase)
  437.     {
  438.         Emperor_InitVar = 1;
  439.         strcpy(Emperor_OccuredError, "gadgets/datebrowser.gadget");
  440.     }
  441.     FuelGaugeBase = OpenLibrary("gadgets/fuelgauge.gadget", 0L);
  442.     if(!FuelGaugeBase)
  443.     {
  444.         Emperor_InitVar = 1;
  445.         strcpy(Emperor_OccuredError, "gadgets/fuelgauge.gadget");
  446.     }
  447.     GetFileBase = OpenLibrary("gadgets/getfile.gadget", 0L);
  448.     if(!GetFileBase)
  449.     {
  450.         Emperor_InitVar = 1;
  451.         strcpy(Emperor_OccuredError, "gadgets/getfile.gadget");
  452.     }
  453.     GetFontBase = OpenLibrary("gadgets/getfont.gadget", 0L);
  454.     if(!GetFontBase)
  455.     {
  456.         Emperor_InitVar = 1;
  457.         strcpy(Emperor_OccuredError, "gadgets/getfont.gadget");
  458.     }
  459.     GetScreenModeBase = OpenLibrary("gadgets/getscreenmode.gadget", 0L);
  460.     if(!GetScreenModeBase)
  461.     {
  462.         Emperor_InitVar = 1;
  463.         strcpy(Emperor_OccuredError, "gadgets/getscreenmode.gadget");
  464.     }
  465.     GradientSliderBase = OpenLibrary("gadgets/gradientslider.gadget", 0L);
  466.     if(!GradientSliderBase)
  467.     {
  468.         Emperor_InitVar = 1;
  469.         strcpy(Emperor_OccuredError, "gadgets/gradientslider.gadget");
  470.     }
  471.     IntegerBase = OpenLibrary("gadgets/integer.gadget", 0L);
  472.     if(!IntegerBase)
  473.     {
  474.         Emperor_InitVar = 1;
  475.         strcpy(Emperor_OccuredError, "gadgets/integer.gadget");
  476.     }
  477.     LayoutBase = OpenLibrary("gadgets/layout.gadget", 0L);
  478.     if(!LayoutBase)
  479.     {
  480.         Emperor_InitVar = 1;
  481.         strcpy(Emperor_OccuredError, "gadgets/layout.gadget");
  482.     }
  483.     ListBrowserBase = OpenLibrary("gadgets/listbrowser.gadget", 0L);
  484.     if(!ListBrowserBase)
  485.     {
  486.         Emperor_InitVar = 1;
  487.         strcpy(Emperor_OccuredError, "gadgets/listbrowser.gadget");
  488.     }
  489.     PaletteBase = OpenLibrary("gadgets/palette.gadget", 0L);
  490.     if(!PaletteBase)
  491.     {
  492.         Emperor_InitVar = 1;
  493.         strcpy(Emperor_OccuredError, "gadgets/palette.gadget");
  494.     }
  495.     RadioButtonBase = OpenLibrary("gadgets/radiobutton.gadget", 0L);
  496.     if(!RadioButtonBase)
  497.     {
  498.         Emperor_InitVar = 1;
  499.         strcpy(Emperor_OccuredError, "gadgets/radiobutton.gadget");
  500.     }
  501.     ScrollerBase = OpenLibrary("gadgets/scroller.gadget", 0L);
  502.     if(!ScrollerBase)
  503.     {
  504.         Emperor_InitVar = 1;
  505.         strcpy(Emperor_OccuredError, "gadgets/scroller.gadget");
  506.     }
  507.     SliderBase = OpenLibrary("gadgets/slider.gadget", 0L);
  508.     if(!SliderBase)
  509.     {
  510.         Emperor_InitVar = 1;
  511.         strcpy(Emperor_OccuredError, "gadgets/slider.gadget");
  512.     }
  513.     SpaceBase = OpenLibrary("gadgets/space.gadget", 0L);
  514.     if(!SpaceBase)
  515.     {
  516.         Emperor_InitVar = 1;
  517.         strcpy(Emperor_OccuredError, "gadgets/space.gadget");
  518.     }
  519.     SpeedBarBase = OpenLibrary("gadgets/speedbar.gadget", 0L);
  520.     if(!SpeedBarBase)
  521.     {
  522.         Emperor_InitVar = 1;
  523.         strcpy(Emperor_OccuredError, "gadgets/speedbar.gadget");
  524.     }
  525.     StringBase = OpenLibrary("gadgets/string.gadget", 0L);
  526.     if(!StringBase)
  527.     {
  528.         Emperor_InitVar = 1;
  529.         strcpy(Emperor_OccuredError, "gadgets/string.gadget");
  530.     }
  531.     TapeDeckBase = OpenLibrary("gadgets/tapedeck.gadget", 0L);
  532.     if(!TapeDeckBase)
  533.     {
  534.         Emperor_InitVar = 1;
  535.         strcpy(Emperor_OccuredError, "gadgets/tapedeck.gadget");
  536.     }
  537.     TextEditorBase = OpenLibrary("gadgets/texteditor.gadget", 0L);
  538.     if(!TextEditorBase)
  539.     {
  540.         Emperor_InitVar = 1;
  541.         strcpy(Emperor_OccuredError, "gadgets/texteditor.gadget");
  542.     }
  543.     BevelBase = OpenLibrary("images/bevel.image", 0L);
  544.     if(!BevelBase)
  545.     {
  546.         Emperor_InitVar = 1;
  547.         strcpy(Emperor_OccuredError, "images/bevel.image");
  548.     }
  549.     BitMapBase = OpenLibrary("images/bitmap.image", 0L);
  550.     if(!BitMapBase)
  551.     {
  552.         Emperor_InitVar = 1;
  553.         strcpy(Emperor_OccuredError, "images/bitmap.image");
  554.     }
  555.     GlyphBase = OpenLibrary("images/glyph.image", 0L);
  556.     if(!GlyphBase)
  557.     {
  558.         Emperor_InitVar = 1;
  559.         strcpy(Emperor_OccuredError, "images/glyph.image");
  560.     }
  561.     LabelBase = OpenLibrary("images/label.image", 0L);
  562.     if(!LabelBase)
  563.     {
  564.         Emperor_InitVar = 1;
  565.         strcpy(Emperor_OccuredError, "images/label.image");
  566.     }
  567.     Catalog = OpenCatalogA(NULL, "Tiger.catalog", NULL);
  568.  
  569.     Emperor_OpenScreen_Screen1();
  570.     VisualInfo1 = GetVisualInfo(Screen1, TAG_DONE);
  571.     if(!VisualInfo1) Emperor_InitVar = 5;
  572.     else
  573.     {
  574.         NewMenu[0].nm_Label = LOCALE_MENU_PROJECT1;
  575.         NewMenu[1].nm_Label = LOCALE_MENU_INFO1;
  576.         NewMenu[2].nm_Label = NM_BARLABEL;
  577.         NewMenu[3].nm_Label = LOCALE_MENU_QUIT1;
  578.         Menu = CreateMenus(NewMenu, GTMN_FullMenu, TRUE, TAG_DONE);
  579.         if(!Menu) Emperor_InitVar = 6;
  580.         else
  581.         {
  582.             LayoutMenus(Menu, VisualInfo1, GTMN_FrontPen, 0, TAG_DONE);
  583.  
  584.             AppPort = CreateMsgPort();
  585.             if(!AppPort) Emperor_InitVar = 7;
  586.  
  587.             MsgPort = CreatePort("Tiger_Port", 0);
  588.             if(!MsgPort) Emperor_InitVar = 7;
  589.         }
  590.     }
  591.     if((os35) && (!Emperor_InitVar))
  592.     {
  593.         WindowObject1 = (Object *) WindowObject,
  594.                         WA_Left, 0,
  595.                         WA_Top, 266,
  596.                         WA_Width, 200,
  597.                         WA_Height, 250,
  598.                         WA_DragBar, TRUE,
  599.                         WA_DepthGadget, TRUE,
  600.                         WA_CloseGadget, TRUE,
  601.                         WA_Activate, TRUE,
  602.                         WA_AutoAdjust, TRUE,
  603.                         WA_IDCMP, IDCMP_GADGETDOWN | IDCMP_GADGETUP | IDCMP_GADGETHELP | IDCMP_MENUPICK | IDCMP_MENUHELP | IDCMP_CLOSEWINDOW | IDCMP_ACTIVEWINDOW | IDCMP_INACTIVEWINDOW | IDCMP_RAWKEY | IDCMP_VANILLAKEY | IDCMP_MOUSEBUTTONS | IDCMP_MOUSEMOVE | IDCMP_NEWSIZE | IDCMP_CHANGEWINDOW | IDCMP_SIZEVERIFY | IDCMP_REFRESHWINDOW | IDCMP_INTUITICKS,
  604.                         WA_Title, LOCALE_WINDOW_TITLE1,
  605.                         WA_ScreenTitle, LOCALE_SCREEN_TITLE1,
  606.                         WA_PubScreen, Screen1,
  607.                         WINDOW_GadgetHelp, TRUE,
  608.                         WINDOW_IconifyGadget, TRUE,
  609.                         WINDOW_IconTitle, LOCALE_ICONIFIED_TITLE1,
  610.                         WINDOW_AppPort, AppPort,
  611.                         WINDOW_ParentGroup, (Object *) Gadget1[0] = (Object *) VGroupObject,
  612.                                             LAYOUT_SpaceOuter, TRUE,
  613.                                             LAYOUT_DeferLayout, TRUE,
  614.                                             LAYOUT_AddChild, (Object *) Gadget1[1] = (Object *) LayoutObject,
  615.                                                              GA_ID, 0,
  616.                                                              GA_RelVerify, TRUE,
  617.                                                              GA_GadgetHelp, TRUE,
  618.                                                              LAYOUT_Label, "",
  619.                                                              LAYOUT_Orientation, 1,
  620.                                                              LAYOUT_LeftSpacing, 5,
  621.                                                              LAYOUT_TopSpacing, 5,
  622.                                                              LAYOUT_BottomSpacing, 5,
  623.                                                              LAYOUT_RightSpacing, 5,
  624.                                                              LAYOUT_InnerSpacing, 5,
  625.                                                              LAYOUT_HorizAlignment, LALIGN_LEFT,
  626.                                                              LAYOUT_VertAlignment, LALIGN_TOP,
  627.                                                              LAYOUT_LabelPlace, BVJ_TOP_CENTER,
  628.                                                              LAYOUT_BevelState, IDS_NORMAL,
  629.                                                              LAYOUT_BevelStyle, 4,
  630.                                                              LAYOUT_AddChild, (Object *) Gadget1[2] = (Object *) LayoutObject,
  631.                                                                               GA_ID, 1,
  632.                                                                               GA_RelVerify, TRUE,
  633.                                                                               GA_GadgetHelp, TRUE,
  634.                                                                               LAYOUT_Label, "",
  635.                                                                               LAYOUT_Orientation, 0,
  636.                                                                               LAYOUT_HorizAlignment, LALIGN_LEFT,
  637.                                                                               LAYOUT_VertAlignment, LALIGN_TOP,
  638.                                                                               LAYOUT_LabelPlace, BVJ_TOP_CENTER,
  639.                                                                               LAYOUT_BevelState, IDS_NORMAL,
  640.                                                                               LAYOUT_BevelStyle, 4,
  641.                                                                               LAYOUT_AddChild, (Object *) Gadget1[3] = (Object *) LayoutObject,
  642.                                                                                                GA_ID, 2,
  643.                                                                                                GA_RelVerify, TRUE,
  644.                                                                                                GA_GadgetHelp, TRUE,
  645.                                                                                                LAYOUT_Label, LOCALE_VERTICAL_LAYOUT3,
  646.                                                                                                LAYOUT_Orientation, 1,
  647.                                                                                                LAYOUT_LeftSpacing, 5,
  648.                                                                                                LAYOUT_TopSpacing, 5,
  649.                                                                                                LAYOUT_BottomSpacing, 5,
  650.                                                                                                LAYOUT_RightSpacing, 5,
  651.                                                                                                LAYOUT_InnerSpacing, 5,
  652.                                                                                                LAYOUT_HorizAlignment, LALIGN_LEFT,
  653.                                                                                                LAYOUT_VertAlignment, LALIGN_TOP,
  654.                                                                                                LAYOUT_LabelPlace, BVJ_TOP_CENTER,
  655.                                                                                                LAYOUT_BevelState, IDS_NORMAL,
  656.                                                                                                LAYOUT_BevelStyle, 2,
  657.                                                                                                LAYOUT_SpaceInner, TRUE,
  658.                                                                                                LAYOUT_AddChild, (Object *) Gadget1[4] = (Object *) StringObject,
  659.                                                                                                                 GA_ID, 3,
  660.                                                                                                                 GA_RelVerify, TRUE,
  661.                                                                                                                 GA_GadgetHelp, TRUE,
  662.                                                                                                                 GA_TabCycle, TRUE,
  663.                                                                                                                 STRINGA_TextVal, "0.4",
  664.                                                                                                                 STRINGA_MaxChars, 20,
  665.                                                                                                                 STRINGA_Justification, GACT_STRINGLEFT,
  666.                                                                                                                 STRINGA_MinVisible, 0,
  667.                                                                                                                 STRINGA_HookType, SHK_CUSTOM,
  668.                                                                                                End,
  669.                                                                                                CHILD_Label, (Object *) Gadget1[5] = (Object *) LabelObject,
  670.                                                                                                                 LABEL_Justification, 0,
  671.                                                                                                                 LABEL_Text, LOCALE_STRING1_LABEL,
  672.                                                                                                End,
  673.                                                                                                LAYOUT_AddChild, (Object *) Gadget1[6] = (Object *) IntegerObject,
  674.                                                                                                                 GA_ID, 5,
  675.                                                                                                                 GA_RelVerify, TRUE,
  676.                                                                                                                 GA_GadgetHelp, TRUE,
  677.                                                                                                                 GA_TabCycle, TRUE,
  678.                                                                                                                 INTEGER_Number, 450,
  679.                                                                                                                 INTEGER_MaxChars, 10,
  680.                                                                                                                 INTEGER_Minimum, 0,
  681.                                                                                                                 INTEGER_Maximum, 900,
  682.                                                                                                                 INTEGER_MinVisible, 0,
  683.                                                                                                                 INTEGER_Arrows, TRUE,
  684.                                                                                                                 STRINGA_Justification, GACT_STRINGLEFT,
  685.                                                                                                End,
  686.                                                                                                CHILD_Label, (Object *) Gadget1[7] = (Object *) LabelObject,
  687.                                                                                                                 LABEL_Justification, 0,
  688.                                                                                                                 LABEL_Text, LOCALE_INTEGER1_LABEL,
  689.                                                                                                End,
  690.                                                                                                LAYOUT_AddChild, (Object *) Gadget1[8] = (Object *) IntegerObject,
  691.                                                                                                                 GA_ID, 7,
  692.                                                                                                                 GA_RelVerify, TRUE,
  693.                                                                                                                 GA_GadgetHelp, TRUE,
  694.                                                                                                                 GA_TabCycle, TRUE,
  695.                                                                                                                 INTEGER_Number, 0,
  696.                                                                                                                 INTEGER_MaxChars, 10,
  697.                                                                                                                 INTEGER_Minimum, 0,
  698.                                                                                                                 INTEGER_Maximum, 100,
  699.                                                                                                                 INTEGER_MinVisible, 0,
  700.                                                                                                                 INTEGER_Arrows, TRUE,
  701.                                                                                                                 STRINGA_Justification, GACT_STRINGLEFT,
  702.                                                                                                End,
  703.                                                                                                CHILD_Label, (Object *) Gadget1[9] = (Object *) LabelObject,
  704.                                                                                                                 LABEL_Justification, 0,
  705.                                                                                                                 LABEL_Text, LOCALE_INTEGER2_LABEL,
  706.                                                                                                End,
  707.                                                                                                LAYOUT_AddChild, (Object *) Gadget1[10] = (Object *) IntegerObject,
  708.                                                                                                                 GA_ID, 9,
  709.                                                                                                                 GA_RelVerify, TRUE,
  710.                                                                                                                 GA_GadgetHelp, TRUE,
  711.                                                                                                                 GA_TabCycle, TRUE,
  712.                                                                                                                 INTEGER_Number, 0,
  713.                                                                                                                 INTEGER_MaxChars, 10,
  714.                                                                                                                 INTEGER_Minimum, 0,
  715.                                                                                                                 INTEGER_Maximum, 10,
  716.                                                                                                                 INTEGER_MinVisible, 0,
  717.                                                                                                                 INTEGER_Arrows, TRUE,
  718.                                                                                                                 STRINGA_Justification, GACT_STRINGLEFT,
  719.                                                                                                End,
  720.                                                                                                CHILD_Label, (Object *) Gadget1[11] = (Object *) LabelObject,
  721.                                                                                                                 LABEL_Justification, 0,
  722.                                                                                                                 LABEL_Text, LOCALE_INTEGER3_LABEL,
  723.                                                                                                End,
  724.                                                                               End,
  725.                                                                               LAYOUT_AddChild, (Object *) Gadget1[12] = (Object *) SpaceObject,
  726.                                                                                                GA_ID, 11,
  727.                                                                                                GA_RelVerify, TRUE,
  728.                                                                                                GA_GadgetHelp, TRUE,
  729.                                                                                                SPACE_BevelStyle, 4,
  730.                                                                               End,
  731.                                                                               LAYOUT_AddChild, (Object *) Gadget1[13] = (Object *) LayoutObject,
  732.                                                                                                GA_ID, 12,
  733.                                                                                                GA_RelVerify, TRUE,
  734.                                                                                                GA_GadgetHelp, TRUE,
  735.                                                                                                LAYOUT_Label, LOCALE_VERTICAL_LAYOUT4,
  736.                                                                                                LAYOUT_Orientation, 1,
  737.                                                                                                LAYOUT_LeftSpacing, 5,
  738.                                                                                                LAYOUT_TopSpacing, 5,
  739.                                                                                                LAYOUT_BottomSpacing, 5,
  740.                                                                                                LAYOUT_RightSpacing, 5,
  741.                                                                                                LAYOUT_InnerSpacing, 5,
  742.                                                                                                LAYOUT_HorizAlignment, LALIGN_LEFT,
  743.                                                                                                LAYOUT_VertAlignment, LALIGN_TOP,
  744.                                                                                                LAYOUT_LabelPlace, BVJ_TOP_CENTER,
  745.                                                                                                LAYOUT_BevelState, IDS_NORMAL,
  746.                                                                                                LAYOUT_BevelStyle, 2,
  747.                                                                                                LAYOUT_SpaceInner, TRUE,
  748.                                                                                                LAYOUT_AddChild, (Object *) Gadget1[14] = (Object *) LayoutObject,
  749.                                                                                                                 GA_ID, 48,
  750.                                                                                                                 GA_RelVerify, TRUE,
  751.                                                                                                                 GA_GadgetHelp, TRUE,
  752.                                                                                                                 LAYOUT_Label, "",
  753.                                                                                                                 LAYOUT_Orientation, 0,
  754.                                                                                                                 LAYOUT_HorizAlignment, LALIGN_LEFT,
  755.                                                                                                                 LAYOUT_VertAlignment, LALIGN_TOP,
  756.                                                                                                                 LAYOUT_LabelPlace, BVJ_TOP_CENTER,
  757.                                                                                                                 LAYOUT_BevelState, IDS_NORMAL,
  758.                                                                                                                 LAYOUT_BevelStyle, 4,
  759.                                                                                                                 LAYOUT_AddChild, (Object *) Gadget1[15] = (Object *) SpaceObject,
  760.                                                                                                                                  GA_ID, 47,
  761.                                                                                                                                  GA_RelVerify, TRUE,
  762.                                                                                                                                  GA_GadgetHelp, TRUE,
  763.                                                                                                                                  SPACE_BevelStyle, 4,
  764.                                                                                                                 End,
  765.                                                                                                                 LAYOUT_AddChild, (Object *) Gadget1[16] = (Object *) IntegerObject,
  766.                                                                                                                                  GA_ID, 13,
  767.                                                                                                                                  GA_RelVerify, TRUE,
  768.                                                                                                                                  GA_GadgetHelp, TRUE,
  769.                                                                                                                                  GA_TabCycle, TRUE,
  770.                                                                                                                                  INTEGER_Number, 40,
  771.                                                                                                                                  INTEGER_MaxChars, 10,
  772.                                                                                                                                  INTEGER_Minimum, 30,
  773.                                                                                                                                  INTEGER_Maximum, 300,
  774.                                                                                                                                  INTEGER_MinVisible, 0,
  775.                                                                                                                                  INTEGER_Arrows, TRUE,
  776.                                                                                                                                  STRINGA_Justification, GACT_STRINGLEFT,
  777.                                                                                                                 End,
  778.                                                                                                                 CHILD_Label, (Object *) Gadget1[17] = (Object *) LabelObject,
  779.                                                                                                                                  LABEL_Justification, 0,
  780.                                                                                                                                  LABEL_Text, LOCALE_INTEGER4_LABEL,
  781.                                                                                                                 End,
  782.                                                                                                End,
  783.                                                                                                LAYOUT_AddChild, (Object *) Gadget1[18] = (Object *) LayoutObject,
  784.                                                                                                                 GA_ID, 49,
  785.                                                                                                                 GA_RelVerify, TRUE,
  786.                                                                                                                 GA_GadgetHelp, TRUE,
  787.                                                                                                                 LAYOUT_Label, "",
  788.                                                                                                                 LAYOUT_Orientation, 0,
  789.                                                                                                                 LAYOUT_HorizAlignment, LALIGN_LEFT,
  790.                                                                                                                 LAYOUT_VertAlignment, LALIGN_TOP,
  791.                                                                                                                 LAYOUT_LabelPlace, BVJ_TOP_CENTER,
  792.                                                                                                                 LAYOUT_BevelState, IDS_NORMAL,
  793.                                                                                                                 LAYOUT_BevelStyle, 4,
  794.                                                                                                                 LAYOUT_AddChild, (Object *) Gadget1[19] = (Object *) SpaceObject,
  795.                                                                                                                                  GA_ID, 50,
  796.                                                                                                                                  GA_RelVerify, TRUE,
  797.                                                                                                                                  GA_GadgetHelp, TRUE,
  798.                                                                                                                                  SPACE_BevelStyle, 4,
  799.                                                                                                                 End,
  800.                                                                                                                 LAYOUT_AddChild, (Object *) Gadget1[20] = (Object *) IntegerObject,
  801.                                                                                                                                  GA_ID, 15,
  802.                                                                                                                                  GA_RelVerify, TRUE,
  803.                                                                                                                                  GA_GadgetHelp, TRUE,
  804.                                                                                                                                  GA_TabCycle, TRUE,
  805.                                                                                                                                  INTEGER_Number, 40,
  806.                                                                                                                                  INTEGER_MaxChars, 10,
  807.                                                                                                                                  INTEGER_Minimum, 30,
  808.                                                                                                                                  INTEGER_Maximum, 300,
  809.                                                                                                                                  INTEGER_MinVisible, 0,
  810.                                                                                                                                  INTEGER_Arrows, TRUE,
  811.                                                                                                                                  STRINGA_Justification, GACT_STRINGLEFT,
  812.                                                                                                                 End,
  813.                                                                                                                 CHILD_Label, (Object *) Gadget1[21] = (Object *) LabelObject,
  814.                                                                                                                                  LABEL_Justification, 0,
  815.                                                                                                                                  LABEL_Text, LOCALE_INTEGER5_LABEL,
  816.                                                                                                                 End,
  817.                                                                                                End,
  818.                                                                                                LAYOUT_AddChild, (Object *) Gadget1[22] = (Object *) LayoutObject,
  819.                                                                                                                 GA_ID, 51,
  820.                                                                                                                 GA_RelVerify, TRUE,
  821.                                                                                                                 GA_GadgetHelp, TRUE,
  822.                                                                                                                 LAYOUT_Label, "",
  823.                                                                                                                 LAYOUT_Orientation, 0,
  824.                                                                                                                 LAYOUT_HorizAlignment, LALIGN_LEFT,
  825.                                                                                                                 LAYOUT_VertAlignment, LALIGN_TOP,
  826.                                                                                                                 LAYOUT_LabelPlace, BVJ_TOP_CENTER,
  827.                                                                                                                 LAYOUT_BevelState, IDS_NORMAL,
  828.                                                                                                                 LAYOUT_BevelStyle, 4,
  829.                                                                                                                 LAYOUT_AddChild, (Object *) Gadget1[23] = (Object *) SpaceObject,
  830.                                                                                                                                  GA_ID, 52,
  831.                                                                                                                                  GA_RelVerify, TRUE,
  832.                                                                                                                                  GA_GadgetHelp, TRUE,
  833.                                                                                                                                  SPACE_BevelStyle, 4,
  834.                                                                                                                 End,
  835.                                                                                                                 LAYOUT_AddChild, (Object *) Gadget1[24] = (Object *) IntegerObject,
  836.                                                                                                                                  GA_ID, 17,
  837.                                                                                                                                  GA_RelVerify, TRUE,
  838.                                                                                                                                  GA_GadgetHelp, TRUE,
  839.                                                                                                                                  GA_TabCycle, TRUE,
  840.                                                                                                                                  INTEGER_Number, 5,
  841.                                                                                                                                  INTEGER_MaxChars, 10,
  842.                                                                                                                                  INTEGER_Minimum, 1,
  843.                                                                                                                                  INTEGER_Maximum, 150,
  844.                                                                                                                                  INTEGER_MinVisible, 0,
  845.                                                                                                                                  INTEGER_Arrows, TRUE,
  846.                                                                                                                                  STRINGA_Justification, GACT_STRINGLEFT,
  847.                                                                                                                 End,
  848.                                                                                                                 CHILD_Label, (Object *) Gadget1[25] = (Object *) LabelObject,
  849.                                                                                                                                  LABEL_Justification, 0,
  850.                                                                                                                                  LABEL_Text, LOCALE_INTEGER6_LABEL,
  851.                                                                                                                 End,
  852.                                                                                                End,
  853.                                                                                                LAYOUT_AddChild, (Object *) Gadget1[26] = (Object *) CheckBoxObject,
  854.                                                                                                                 GA_ID, 22,
  855.                                                                                                                 GA_RelVerify, TRUE,
  856.                                                                                                                 GA_GadgetHelp, TRUE,
  857.                                                                                                                 GA_Text, LOCALE_CHECKBOX1_LABEL,
  858.                                                                                                                 CHECKBOX_TextPen, 1,
  859.                                                                                                                 CHECKBOX_FillTextPen, 1,
  860.                                                                                                                 CHECKBOX_BackgroundPen, 0,
  861.                                                                                                                 CHECKBOX_TextPlace, PLACETEXT_RIGHT,
  862.                                                                                                End,
  863.                                                                                                LAYOUT_AddChild, (Object *) Gadget1[27] = (Object *) CheckBoxObject,
  864.                                                                                                                 GA_ID, 51,
  865.                                                                                                                 GA_RelVerify, TRUE,
  866.                                                                                                                 GA_GadgetHelp, TRUE,
  867.                                                                                                                 GA_Text, LOCALE_CHECKBOX2_LABEL,
  868.                                                                                                                 CHECKBOX_TextPen, 1,
  869.                                                                                                                 CHECKBOX_FillTextPen, 1,
  870.                                                                                                                 CHECKBOX_BackgroundPen, 0,
  871.                                                                                                                 CHECKBOX_TextPlace, PLACETEXT_RIGHT,
  872.                                                                                                End,
  873.                                                                               End,
  874.                                                              End,
  875.                                                              LAYOUT_AddChild, (Object *) Gadget1[28] = (Object *) LayoutObject,
  876.                                                                               GA_ID, 19,
  877.                                                                               GA_RelVerify, TRUE,
  878.                                                                               GA_GadgetHelp, TRUE,
  879.                                                                               LAYOUT_Label, "",
  880.                                                                               LAYOUT_Orientation, 0,
  881.                                                                               LAYOUT_LeftSpacing, 5,
  882.                                                                               LAYOUT_TopSpacing, 10,
  883.                                                                               LAYOUT_BottomSpacing, 5,
  884.                                                                               LAYOUT_RightSpacing, 5,
  885.                                                                               LAYOUT_InnerSpacing, 5,
  886.                                                                               LAYOUT_HorizAlignment, LALIGN_LEFT,
  887.                                                                               LAYOUT_VertAlignment, LALIGN_TOP,
  888.                                                                               LAYOUT_LabelPlace, BVJ_TOP_CENTER,
  889.                                                                               LAYOUT_BevelState, IDS_NORMAL,
  890.                                                                               LAYOUT_BevelStyle, 4,
  891.                                                                               LAYOUT_AddChild, (Object *) Gadget1[29] = (Object *) SpaceObject,
  892.                                                                                                GA_ID, 46,
  893.                                                                                                GA_RelVerify, TRUE,
  894.                                                                                                GA_GadgetHelp, TRUE,
  895.                                                                                                SPACE_BevelStyle, 4,
  896.                                                                               End,
  897.                                                                               LAYOUT_AddChild, (Object *) Gadget1[30] = (Object *) SliderObject,
  898.                                                                                                GA_ID, 36,
  899.                                                                                                GA_RelVerify, TRUE,
  900.                                                                                                GA_GadgetHelp, TRUE,
  901.                                                                                                SLIDER_Min, 1,
  902.                                                                                                SLIDER_Max, 5,
  903.                                                                                                SLIDER_Ticks, 9,
  904.                                                                                                SLIDER_TickSize, 5,
  905.                                                                                                SLIDER_Level, 1,
  906.                                                                                                SLIDER_Orientation, SLIDER_VERTICAL,
  907.                                                                                                SLIDER_ShortTicks, TRUE,
  908.                                                                               End,
  909.                                                                               CHILD_Label, (Object *) Gadget1[31] = (Object *) LabelObject,
  910.                                                                                                LABEL_Justification, 0,
  911.                                                                                                LABEL_Text, LOCALE_SLIDER1_LABEL,
  912.                                                                               End,
  913.                                                                               LAYOUT_AddChild, (Object *) Gadget1[32] = (Object *) LayoutObject,
  914.                                                                                                GA_ID, 53,
  915.                                                                                                GA_RelVerify, TRUE,
  916.                                                                                                GA_GadgetHelp, TRUE,
  917.                                                                                                LAYOUT_Label, "",
  918.                                                                                                LAYOUT_Orientation, 1,
  919.                                                                                                LAYOUT_LeftSpacing, 5,
  920.                                                                                                LAYOUT_TopSpacing, 10,
  921.                                                                                                LAYOUT_BottomSpacing, 10,
  922.                                                                                                LAYOUT_RightSpacing, 5,
  923.                                                                                                LAYOUT_HorizAlignment, LALIGN_LEFT,
  924.                                                                                                LAYOUT_VertAlignment, LALIGN_TOP,
  925.                                                                                                LAYOUT_LabelPlace, BVJ_TOP_CENTER,
  926.                                                                                                LAYOUT_BevelState, IDS_NORMAL,
  927.                                                                                                LAYOUT_BevelStyle, 4,
  928.                                                                                                LAYOUT_AddChild, (Object *) Gadget1[33] = (Object *) StringObject,
  929.                                                                                                                 GA_ID, 37,
  930.                                                                                                                 GA_RelVerify, TRUE,
  931.                                                                                                                 GA_GadgetHelp, TRUE,
  932.                                                                                                                 GA_TabCycle, TRUE,
  933.                                                                                                                 STRINGA_TextVal, "1",
  934.                                                                                                                 STRINGA_MaxChars, 10,
  935.                                                                                                                 STRINGA_Justification, GACT_STRINGLEFT,
  936.                                                                                                                 STRINGA_MinVisible, 2,
  937.                                                                                                                 STRINGA_HookType, SHK_CUSTOM,
  938.                                                                                                End,
  939.                                                                               End,
  940.                                                                               LAYOUT_AddChild, (Object *) Gadget1[34] = (Object *) SpaceObject,
  941.                                                                                                GA_ID, 20,
  942.                                                                                                GA_RelVerify, TRUE,
  943.                                                                                                GA_GadgetHelp, TRUE,
  944.                                                                                                SPACE_BevelStyle, 4,
  945.                                                                               End,
  946.                                                                               LAYOUT_AddChild, (Object *) Gadget1[35] = (Object *) LayoutObject,
  947.                                                                                                GA_ID, 21,
  948.                                                                                                GA_RelVerify, TRUE,
  949.                                                                                                GA_GadgetHelp, TRUE,
  950.                                                                                                LAYOUT_Label, "",
  951.                                                                                                LAYOUT_Orientation, 1,
  952.                                                                                                LAYOUT_HorizAlignment, LALIGN_LEFT,
  953.                                                                                                LAYOUT_VertAlignment, LALIGN_TOP,
  954.                                                                                                LAYOUT_LabelPlace, BVJ_TOP_CENTER,
  955.                                                                                                LAYOUT_BevelState, IDS_NORMAL,
  956.                                                                                                LAYOUT_BevelStyle, 4,
  957.                                                                                                LAYOUT_AddChild, (Object *) Gadget1[36] = (Object *) SpaceObject,
  958.                                                                                                                 GA_ID, 23,
  959.                                                                                                                 GA_RelVerify, TRUE,
  960.                                                                                                                 GA_GadgetHelp, TRUE,
  961.                                                                                                                 SPACE_BevelStyle, 4,
  962.                                                                                                End,
  963.                                                                                                LAYOUT_AddChild, (Object *) Gadget1[37] = (Object *) ButtonObject,
  964.                                                                                                                 GA_ID, 38,
  965.                                                                                                                 GA_RelVerify, TRUE,
  966.                                                                                                                 GA_GadgetHelp, TRUE,
  967.                                                                                                                 GA_Text, LOCALE_BUTTON2_LABEL,
  968.                                                                                                                 BUTTON_AutoButton, 0,
  969.                                                                                                                 BUTTON_BevelStyle, 1,
  970.                                                                                                                 BUTTON_Justification, 1,
  971.                                                                                                End,
  972.                                                                                                LAYOUT_AddChild, (Object *) Gadget1[38] = (Object *) ButtonObject,
  973.                                                                                                                 GA_ID, 24,
  974.                                                                                                                 GA_RelVerify, TRUE,
  975.                                                                                                                 GA_GadgetHelp, TRUE,
  976.                                                                                                                 GA_Text, LOCALE_BUTTON1_LABEL,
  977.                                                                                                                 BUTTON_AutoButton, 0,
  978.                                                                                                                 BUTTON_BevelStyle, 1,
  979.                                                                                                                 BUTTON_Justification, 1,
  980.                                                                                                End,
  981.                                                                                                LAYOUT_AddChild, (Object *) Gadget1[39] = (Object *) SpaceObject,
  982.                                                                                                                 GA_ID, 25,
  983.                                                                                                                 GA_RelVerify, TRUE,
  984.                                                                                                                 GA_GadgetHelp, TRUE,
  985.                                                                                                                 SPACE_BevelStyle, 4,
  986.                                                                                                End,
  987.                                                                               End,
  988.                                                                               LAYOUT_AddChild, (Object *) Gadget1[40] = (Object *) SpaceObject,
  989.                                                                                                GA_ID, 26,
  990.                                                                                                GA_RelVerify, TRUE,
  991.                                                                                                GA_GadgetHelp, TRUE,
  992.                                                                                                SPACE_BevelStyle, 4,
  993.                                                                               End,
  994.                                                              End,
  995.                                                              LAYOUT_AddChild, (Object *) Gadget1[41] = (Object *) LayoutObject,
  996.                                                                               GA_ID, 28,
  997.                                                                               GA_RelVerify, TRUE,
  998.                                                                               GA_GadgetHelp, TRUE,
  999.                                                                               LAYOUT_Label, "",
  1000.                                                                               LAYOUT_Orientation, 0,
  1001.                                                                               LAYOUT_LeftSpacing, 5,
  1002.                                                                               LAYOUT_TopSpacing, 5,
  1003.                                                                               LAYOUT_BottomSpacing, 10,
  1004.                                                                               LAYOUT_RightSpacing, 5,
  1005.                                                                               LAYOUT_InnerSpacing, 5,
  1006.                                                                               LAYOUT_HorizAlignment, LALIGN_LEFT,
  1007.                                                                               LAYOUT_VertAlignment, LALIGN_TOP,
  1008.                                                                               LAYOUT_LabelPlace, BVJ_TOP_CENTER,
  1009.                                                                               LAYOUT_BevelState, IDS_NORMAL,
  1010.                                                                               LAYOUT_BevelStyle, 4,
  1011.                                                                               LAYOUT_AddChild, (Object *) Gadget1[42] = (Object *) FuelGaugeObject,
  1012.                                                                                                GA_ID, 29,
  1013.                                                                                                GA_RelVerify, TRUE,
  1014.                                                                                                GA_GadgetHelp, TRUE,
  1015.                                                                                                FUELGAUGE_Min, 0,
  1016.                                                                                                FUELGAUGE_Ticks, 9,
  1017.                                                                                                FUELGAUGE_Max, 10,
  1018.                                                                                                FUELGAUGE_TickSize, 5,
  1019.                                                                                                FUELGAUGE_ShortTicks, 8,
  1020.                                                                                                FUELGAUGE_Percent, TRUE,
  1021.                                                                                                FUELGAUGE_Justification, 1,
  1022.                                                                                                FUELGAUGE_Orientation, 0,
  1023.                                                                               End,
  1024.                                                                               LAYOUT_AddChild, (Object *) Gadget1[43] = (Object *) FuelGaugeObject,
  1025.                                                                                                GA_ID, 30,
  1026.                                                                                                GA_RelVerify, TRUE,
  1027.                                                                                                GA_GadgetHelp, TRUE,
  1028.                                                                                                FUELGAUGE_Min, 0,
  1029.                                                                                                FUELGAUGE_Ticks, 9,
  1030.                                                                                                FUELGAUGE_Max, 10,
  1031.                                                                                                FUELGAUGE_TickSize, 5,
  1032.                                                                                                FUELGAUGE_ShortTicks, 8,
  1033.                                                                                                FUELGAUGE_Percent, TRUE,
  1034.                                                                                                FUELGAUGE_Justification, 1,
  1035.                                                                                                FUELGAUGE_Orientation, 0,
  1036.                                                                               End,
  1037.                                                              End,
  1038.                                                              LAYOUT_AddChild, (Object *) Gadget1[44] = (Object *) LayoutObject,
  1039.                                                                               GA_ID, 38,
  1040.                                                                               GA_RelVerify, TRUE,
  1041.                                                                               GA_GadgetHelp, TRUE,
  1042.                                                                               LAYOUT_Label, LOCALE_ANIMATION_LABEL,
  1043.                                                                               LAYOUT_Orientation, 1,
  1044.                                                                               LAYOUT_LeftSpacing, 5,
  1045.                                                                               LAYOUT_TopSpacing, 5,
  1046.                                                                               LAYOUT_BottomSpacing, 5,
  1047.                                                                               LAYOUT_RightSpacing, 5,
  1048.                                                                               LAYOUT_InnerSpacing, 5,
  1049.                                                                               LAYOUT_HorizAlignment, LALIGN_LEFT,
  1050.                                                                               LAYOUT_VertAlignment, LALIGN_TOP,
  1051.                                                                               LAYOUT_LabelPlace, BVJ_TOP_CENTER,
  1052.                                                                               LAYOUT_BevelState, IDS_NORMAL,
  1053.                                                                               LAYOUT_BevelStyle, 2,
  1054.                                                                               LAYOUT_SpaceInner, TRUE,
  1055.                                                                               LAYOUT_AddChild, (Object *) Gadget1[45] = (Object *) LayoutObject,
  1056.                                                                                                GA_ID, 43,
  1057.                                                                                                GA_RelVerify, TRUE,
  1058.                                                                                                GA_GadgetHelp, TRUE,
  1059.                                                                                                LAYOUT_Label, "",
  1060.                                                                                                LAYOUT_Orientation, 0,
  1061.                                                                                                LAYOUT_HorizAlignment, LALIGN_LEFT,
  1062.                                                                                                LAYOUT_VertAlignment, LALIGN_TOP,
  1063.                                                                                                LAYOUT_LabelPlace, BVJ_TOP_CENTER,
  1064.                                                                                                LAYOUT_BevelState, IDS_NORMAL,
  1065.                                                                                                LAYOUT_BevelStyle, 4,
  1066.                                                                                                LAYOUT_AddChild, (Object *) Gadget1[46] = (Object *) ButtonObject,
  1067.                                                                                                                 GA_ID, 39,
  1068.                                                                                                                 GA_RelVerify, TRUE,
  1069.                                                                                                                 GA_GadgetHelp, TRUE,
  1070.                                                                                                                 GA_Text, LOCALE_BUTTON3_LABEL,
  1071.                                                                                                                 BUTTON_PushButton, TRUE,
  1072.                                                                                                                 BUTTON_AutoButton, 0,
  1073.                                                                                                                 BUTTON_BevelStyle, 1,
  1074.                                                                                                                 BUTTON_Justification, 1,
  1075.                                                                                                End,
  1076.                                                                                                LAYOUT_AddChild, (Object *) Gadget1[47] = (Object *) SpaceObject,
  1077.                                                                                                                 GA_ID, 48,
  1078.                                                                                                                 GA_RelVerify, TRUE,
  1079.                                                                                                                 GA_GadgetHelp, TRUE,
  1080.                                                                                                                 SPACE_BevelStyle, 4,
  1081.                                                                                                End,
  1082.                                                                                                LAYOUT_AddChild, (Object *) Gadget1[48] = (Object *) ButtonObject,
  1083.                                                                                                                 GA_ID, 42,
  1084.                                                                                                                 GA_RelVerify, TRUE,
  1085.                                                                                                                 GA_GadgetHelp, TRUE,
  1086.                                                                                                                 GA_Text, LOCALE_BUTTON6_LABEL,
  1087.                                                                                                                 BUTTON_AutoButton, 0,
  1088.                                                                                                                 BUTTON_BevelStyle, 1,
  1089.                                                                                                                 BUTTON_Justification, 1,
  1090.                                                                                                End,
  1091.                                                                               End,
  1092.                                                                               LAYOUT_AddChild, (Object *) Gadget1[49] = (Object *) LayoutObject,
  1093.                                                                                                GA_ID, 44,
  1094.                                                                                                GA_RelVerify, TRUE,
  1095.                                                                                                GA_GadgetHelp, TRUE,
  1096.                                                                                                LAYOUT_Label, "",
  1097.                                                                                                LAYOUT_Orientation, 0,
  1098.                                                                                                LAYOUT_HorizAlignment, LALIGN_LEFT,
  1099.                                                                                                LAYOUT_VertAlignment, LALIGN_TOP,
  1100.                                                                                                LAYOUT_LabelPlace, BVJ_TOP_CENTER,
  1101.                                                                                                LAYOUT_BevelState, IDS_NORMAL,
  1102.                                                                                                LAYOUT_BevelStyle, 4,
  1103.                                                                                                LAYOUT_AddChild, (Object *) Gadget1[50] = (Object *) SpaceObject,
  1104.                                                                                                                 GA_ID, 49,
  1105.                                                                                                                 GA_RelVerify, TRUE,
  1106.                                                                                                                 GA_GadgetHelp, TRUE,
  1107.                                                                                                                 SPACE_BevelStyle, 4,
  1108.                                                                                                End,
  1109.                                                                                                LAYOUT_AddChild, (Object *) Gadget1[51] = (Object *) ButtonObject,
  1110.                                                                                                                 GA_ID, 46,
  1111.                                                                                                                 GA_RelVerify, TRUE,
  1112.                                                                                                                 GA_GadgetHelp, TRUE,
  1113.                                                                                                                 GA_Text, LOCALE_BUTTON7_LABEL,
  1114.                                                                                                                 BUTTON_AutoButton, 0,
  1115.                                                                                                                 BUTTON_BevelStyle, 1,
  1116.                                                                                                                 BUTTON_Justification, 1,
  1117.                                                                                                End,
  1118.                                                                                                LAYOUT_AddChild, (Object *) Gadget1[52] = (Object *) ButtonObject,
  1119.                                                                                                                 GA_ID, 47,
  1120.                                                                                                                 GA_RelVerify, TRUE,
  1121.                                                                                                                 GA_GadgetHelp, TRUE,
  1122.                                                                                                                 GA_Text, LOCALE_BUTTON8_LABEL,
  1123.                                                                                                                 BUTTON_AutoButton, 0,
  1124.                                                                                                                 BUTTON_BevelStyle, 1,
  1125.                                                                                                                 BUTTON_Justification, 1,
  1126.                                                                                                End,
  1127.                                                                                                LAYOUT_AddChild, (Object *) Gadget1[53] = (Object *) SpaceObject,
  1128.                                                                                                                 GA_ID, 50,
  1129.                                                                                                                 GA_RelVerify, TRUE,
  1130.                                                                                                                 GA_GadgetHelp, TRUE,
  1131.                                                                                                                 SPACE_BevelStyle, 4,
  1132.                                                                                                End,
  1133.                                                                               End,
  1134.                                                              End,
  1135.                                             End,
  1136.                         EndGroup,
  1137.         EndWindow;
  1138.     }
  1139.  
  1140.     if(Emperor_InitVar)
  1141.     {
  1142.         strcpy(Emperor_ExceptionString, "Error during initialization:\n\n");
  1143.         switch(Emperor_InitVar)
  1144.         {
  1145.             case 1: strcat(Emperor_ExceptionString, "Can't open Amiga-library\n\"");
  1146.                     strcat(Emperor_ExceptionString, Emperor_OccuredError);
  1147.                     strcat(Emperor_ExceptionString, "\"\n\nProbably you haven't got a\ncorrect installed AmigaOS system !");
  1148.                     break;
  1149.             case 5: strcat(Emperor_ExceptionString, "Can't get visualinfo of the screen."); break;
  1150.             case 6: strcat(Emperor_ExceptionString, "Can't create menu."); break;
  1151.             case 7: strcat(Emperor_ExceptionString, "Can't create message-port."); break;
  1152.         }
  1153.         if(Emperor_InitVar >= 5) strcat(Emperor_ExceptionString, "\n\nMaybe there isn't enough memory !");
  1154.         EmperorRequest_InitializationErrorRequest.es_StructSize = sizeof(struct EasyStruct);
  1155.         EmperorRequest_InitializationErrorRequest.es_Flags = 0L;
  1156.         EmperorRequest_InitializationErrorRequest.es_Title = (UBYTE *) "Program error";
  1157.         EmperorRequest_InitializationErrorRequest.es_TextFormat = (UBYTE *) Emperor_ExceptionString;
  1158.         EmperorRequest_InitializationErrorRequest.es_GadgetFormat = (UBYTE *) "Okay";
  1159.         EasyRequest(NULL, &EmperorRequest_InitializationErrorRequest, NULL, NULL);
  1160.         Emperor_QuitProgram();
  1161.     }
  1162.     else
  1163.     {
  1164.         SetProgramName("Tiger");
  1165.         Startup();
  1166.     }
  1167. }
  1168.  
  1169. void Emperor_QuitProgram(void)
  1170. {
  1171.     Shutdown();
  1172.     Emperor_CloseWindow_Window1();
  1173.     if(WindowObject1) DisposeObject(WindowObject1);
  1174.     if(AppPort) DeleteMsgPort(AppPort);
  1175.     if(MsgPort) DeletePort(MsgPort);
  1176.     if(Menu) FreeMenus(Menu);
  1177.     if(Screen1) UnlockPubScreen(NULL, Screen1);
  1178.     if(Catalog) CloseCatalog(Catalog);
  1179.     if(LabelBase) CloseLibrary(LabelBase);
  1180.     if(GlyphBase) CloseLibrary(GlyphBase);
  1181.     if(BitMapBase) CloseLibrary(BitMapBase);
  1182.     if(BevelBase) CloseLibrary(BevelBase);
  1183.     if(TextEditorBase) CloseLibrary(TextEditorBase);
  1184.     if(TapeDeckBase) CloseLibrary(TapeDeckBase);
  1185.     if(StringBase) CloseLibrary(StringBase);
  1186.     if(SpeedBarBase) CloseLibrary(SpeedBarBase);
  1187.     if(SpaceBase) CloseLibrary(SpaceBase);
  1188.     if(SliderBase) CloseLibrary(SliderBase);
  1189.     if(ScrollerBase) CloseLibrary(ScrollerBase);
  1190.     if(RadioButtonBase) CloseLibrary(RadioButtonBase);
  1191.     if(PaletteBase) CloseLibrary(PaletteBase);
  1192.     if(ListBrowserBase) CloseLibrary(ListBrowserBase);
  1193.     if(LayoutBase) CloseLibrary(LayoutBase);
  1194.     if(IntegerBase) CloseLibrary(IntegerBase);
  1195.     if(GradientSliderBase) CloseLibrary(GradientSliderBase);
  1196.     if(GetScreenModeBase) CloseLibrary(GetScreenModeBase);
  1197.     if(GetFontBase) CloseLibrary(GetFontBase);
  1198.     if(GetFileBase) CloseLibrary(GetFileBase);
  1199.     if(FuelGaugeBase) CloseLibrary(FuelGaugeBase);
  1200.     if(DateBrowserBase) CloseLibrary(DateBrowserBase);
  1201.     if(ColorWheelBase) CloseLibrary(ColorWheelBase);
  1202.     if(ClickTabBase) CloseLibrary(ClickTabBase);
  1203.     if(ChooserBase) CloseLibrary(ChooserBase);
  1204.     if(CheckBoxBase) CloseLibrary(CheckBoxBase);
  1205.     if(ButtonBase) CloseLibrary(ButtonBase);
  1206.     if(RequesterBase) CloseLibrary(RequesterBase);
  1207.     if(WindowBase) CloseLibrary(WindowBase);
  1208.     if(ResourceBase) CloseLibrary(ResourceBase);
  1209.     if(DOSLibBase) CloseLibrary(DOSLibBase);
  1210.     if(ASLBase) CloseLibrary(ASLBase);
  1211.     if(GadToolsBase) CloseLibrary(GadToolsBase);
  1212.     if(LocaleBase) CloseLibrary(LocaleBase);
  1213.     if(IntuitionBase) CloseLibrary(IntuitionBase);
  1214.     exit(0);
  1215. }
  1216.  
  1217. void Emperor_CloseScreen_Screen1(void)
  1218. {
  1219.     if(Screen1)
  1220.     {
  1221.         UnlockPubScreen(NULL, Screen1);
  1222.         Screen1 = NULL;
  1223.     }
  1224. }
  1225.  
  1226. struct Screen *Emperor_OpenScreen_Screen1(void)
  1227. {
  1228.     Screen1 = LockPubScreen(NULL);
  1229.     return(Screen1);
  1230. }
  1231.  
  1232. void Emperor_CloseWindow_Window1(void)
  1233. {
  1234.     if(os35)
  1235.     {
  1236.         if(Menu) ClearMenuStrip(Window1);
  1237.         DoMethod(WindowObject1, WM_CLOSE, NULL);
  1238.         Window1 = NULL;
  1239.         WindowSignals1 = 0L;
  1240.     }
  1241. }
  1242.  
  1243. void Emperor_IconifyWindow_Window1(void)
  1244. {
  1245.     if(os35)
  1246.     {
  1247.         if(Menu) ClearMenuStrip(Window1);
  1248.         DoMethod(WindowObject1, WM_ICONIFY, NULL);
  1249.     }
  1250. }
  1251.  
  1252. struct Window *Emperor_OpenWindow_Window1(void)
  1253. {
  1254.     if(os35)
  1255.     {
  1256.         Window1 = RA_OpenWindow(WindowObject1);
  1257.         GetAttr(WINDOW_SigMask, WindowObject1, &WindowSignals1);
  1258.         SetMenuStrip(Window1, Menu);
  1259.         Window1_ShowWindow_Event();
  1260.     }
  1261.     return(Window1);
  1262. }
  1263.  
  1264. struct Window *Emperor_UniconifyWindow_Window1(void)
  1265. {
  1266.     return(Emperor_OpenWindow_Window1());
  1267. }
  1268.  
  1269. STRPTR Emperor_GetGadgetAttr(struct Gadget *Emperor_GadgetName)
  1270. {
  1271.     LONG Emperor_GadgetAttrBuffer, Emperor_GadgetCounter;
  1272.     STRPTR Emperor_GadgetAttrReturn = "";
  1273.  
  1274.     Emperor_GadgetAttrBuffer = 0L;
  1275.     for(Emperor_GadgetCounter = 0;Emperor_GadgetCounter < 1023;Emperor_GadgetCounter++)
  1276.     {
  1277.         if(Gadget1[Emperor_GadgetCounter] == Emperor_GadgetName)
  1278.         {
  1279.             switch(Emperor_Gadgetkind1[Emperor_GadgetCounter])
  1280.             {
  1281.                 case 0:
  1282.                     GetAttr(GA_Selected, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  1283.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  1284.                     break;
  1285.                 case 1:
  1286.                     GetAttr(GA_Selected, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  1287.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  1288.                     break;
  1289.                 case 2:
  1290.                     GetAttr(CHOOSER_Selected, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  1291.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  1292.                     break;
  1293.                 case 3:
  1294.                     GetAttr(CLICKTAB_Current, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  1295.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  1296.                     break;
  1297.                 case 6:
  1298.                     GetAttr(FUELGAUGE_Level, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  1299.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  1300.                     break;
  1301.                 case 7:
  1302.                     GetAttr(GETFILE_FullFile, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  1303.                     strcpy(Emperor_GadgetAttrReturn, (char *) Emperor_GadgetAttrBuffer);
  1304.                     break;
  1305.                 case 8:
  1306.                     GetAttr(GETFONT_TextAttr, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  1307.                     Emperor_GadgetAttrReturn = (STRPTR) Emperor_GadgetAttrBuffer;
  1308.                     break;
  1309.                 case 9:
  1310.                     GetAttr(GETSCREENMODE_DisplayID, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  1311.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  1312.                     break;
  1313.                 case 10:
  1314.                     GetAttr(GRAD_CurVal, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  1315.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  1316.                     break;
  1317.                 case 11:
  1318.                     GetAttr(INTEGER_Number, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  1319.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  1320.                     break;
  1321.                 case 13:
  1322.                     GetAttr(LISTBROWSER_Selected, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  1323.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  1324.                     break;
  1325.                 case 14:
  1326.                     GetAttr(PALETTE_Colour, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  1327.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  1328.                     break;
  1329.                 case 15:
  1330.                     GetAttr(RADIOBUTTON_Selected, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  1331.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  1332.                     break;
  1333.                 case 16:
  1334.                     GetAttr(SCROLLER_Top, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  1335.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  1336.                     break;
  1337.                 case 17:
  1338.                     GetAttr(SLIDER_Level, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  1339.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  1340.                     break;
  1341.                 case 19:
  1342.                     GetAttr(SPEEDBAR_Selected, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  1343.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  1344.                     break;
  1345.                 case 20:
  1346.                     GetAttr(STRINGA_TextVal, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  1347.                     strcpy(Emperor_GadgetAttrReturn, (char *) Emperor_GadgetAttrBuffer);
  1348.                     break;
  1349.                 case 21:
  1350.                     GetAttr(TDECK_Mode, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  1351.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  1352.                     break;
  1353.                 case 22:
  1354.                     GetAttr(GA_TEXTEDITOR_Contents, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  1355.                     strcpy(Emperor_GadgetAttrReturn, (char *) Emperor_GadgetAttrBuffer);
  1356.                     break;
  1357.             }
  1358.             break;
  1359.         }
  1360.     }
  1361.     return(Emperor_GadgetAttrReturn);
  1362. }
  1363.  
  1364. void Emperor_SetGadgetAttr(struct Gadget *Emperor_GadgetName, STRPTR Emperor_GadgetValue)
  1365. {
  1366.     LONG Emperor_GadgetAttrBuffer, Emperor_GadgetCounter;
  1367.     struct Window *Emperor_Whichwindow = NULL;
  1368.  
  1369.     Emperor_GadgetAttrBuffer = 0L;
  1370.     for(Emperor_GadgetCounter = 0;Emperor_GadgetCounter < 1023;Emperor_GadgetCounter++)
  1371.     {
  1372.         if(Gadget1[Emperor_GadgetCounter] == Emperor_GadgetName)
  1373.         {
  1374.             Emperor_Whichwindow = Window1;
  1375.             switch(Emperor_Gadgetkind1[Emperor_GadgetCounter])
  1376.             {
  1377.                 case 0:
  1378.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_Selected, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1379.                     break;
  1380.                 case 1:
  1381.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_Selected, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1382.                     break;
  1383.                 case 2:
  1384.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, CHOOSER_Selected, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1385.                     break;
  1386.                 case 3:
  1387.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, CLICKTAB_Current, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1388.                     break;
  1389.                 case 6:
  1390.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, FUELGAUGE_Level, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1391.                     break;
  1392.                 case 7:
  1393.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GETFILE_FullFile, Emperor_GadgetValue, TAG_DONE);
  1394.                     break;
  1395.                 case 8:
  1396.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GETFONT_TextAttr, (struct TextAttr *) &Emperor_GadgetValue, TAG_DONE);
  1397.                     break;
  1398.                 case 9:
  1399.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GETSCREENMODE_DisplayID, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1400.                     break;
  1401.                 case 10:
  1402.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, INTEGER_Number, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1403.                     break;
  1404.                 case 11:
  1405.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GRAD_CurVal, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1406.                     break;
  1407.                 case 13:
  1408.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, LISTBROWSER_Selected, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1409.                     break;
  1410.                 case 14:
  1411.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, PALETTE_Colour, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1412.                     break;
  1413.                 case 15:
  1414.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, RADIOBUTTON_Selected, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1415.                     break;
  1416.                 case 16:
  1417.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, SCROLLER_Top, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1418.                     break;
  1419.                 case 17:
  1420.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, SLIDER_Level, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1421.                     break;
  1422.                 case 19:
  1423.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, SPEEDBAR_Selected, Emperor_GadgetValue, TAG_DONE);
  1424.                     break;
  1425.                 case 20:
  1426.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, STRINGA_TextVal, Emperor_GadgetValue, TAG_DONE);
  1427.                     break;
  1428.                 case 21:
  1429.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, TDECK_Mode, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1430.                     break;
  1431.                 case 22:
  1432.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_TEXTEDITOR_Contents, Emperor_GadgetValue, TAG_DONE);
  1433.                     break;
  1434.             }
  1435.             if(Emperor_GadgetAttrBuffer) RefreshGList(Emperor_GadgetName, Emperor_Whichwindow, NULL, 1);
  1436.             break;
  1437.         }
  1438.     }
  1439. }
  1440.  
  1441. ULONG stringlength(STRPTR Emperor_StringBuffer)
  1442. {
  1443.     ULONG Emperor_Counter = 0;
  1444.  
  1445.     while(Emperor_StringBuffer[Emperor_Counter] != NULL) Emperor_Counter++;
  1446.     return(Emperor_Counter);
  1447. }
  1448.  
  1449. LONG stringtoint(STRPTR Emperor_StringBuffer)
  1450. {
  1451.     return(atol(Emperor_StringBuffer));
  1452. }
  1453.  
  1454. DOUBLE stringtofloat(STRPTR Emperor_StringBuffer)
  1455. {
  1456.     return(atof(Emperor_StringBuffer));
  1457. }
  1458.  
  1459. #include <math.h>
  1460.  
  1461. STRPTR inttostring(LONG Emperor_IntegerInput)
  1462. {
  1463.     char *Emperor_StringOutput = "abcdefghijk";
  1464.     STRPTR Emperor_StringBegin;
  1465.     BYTE Emperor_Counter, Emperor_IntegerLength = 0;
  1466.     LONG buffer;
  1467.  
  1468.     strcpy(Emperor_StringOutput, "");
  1469.     Emperor_StringBegin = Emperor_StringOutput;
  1470.     if(Emperor_IntegerInput < 0)
  1471.     {
  1472.         *Emperor_StringOutput++ = '-';
  1473.         Emperor_IntegerInput = -Emperor_IntegerInput;
  1474.     }
  1475.     buffer = Emperor_IntegerInput;
  1476.     do
  1477.     {
  1478.         buffer = buffer / 10;
  1479.         Emperor_IntegerLength++;
  1480.     }
  1481.     while(buffer > 0);
  1482.     for(Emperor_Counter = 1;Emperor_Counter <= Emperor_IntegerLength;Emperor_Counter++)
  1483.     {
  1484.         buffer = (LONG) (Emperor_IntegerInput / (LONG) pow(10, Emperor_IntegerLength - Emperor_Counter));
  1485.         Emperor_IntegerInput -= buffer * (LONG) pow(10, Emperor_IntegerLength - Emperor_Counter);
  1486.         *Emperor_StringOutput++ = (char) (buffer + 48);
  1487.     }
  1488.     *Emperor_StringOutput = NULL;
  1489.     Emperor_StringOutput = Emperor_StringBegin;
  1490.     return(Emperor_StringOutput)
  1491. }
  1492.  
  1493. #include <Tiger.h>
  1494.